home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 208_01 / libc.dat < prev    next >
Text File  |  1987-10-11  |  13KB  |  619 lines

  1. /*
  2. HEADER:        CUG208.15;
  3. TITLE:         Clib Table of Contents;
  4.  
  5. DESCRIPTION:    "Information about DR C library functions";
  6.  
  7. SYSTEM:        CP/M68K;
  8. FILENAME:    LIBC.DAT;
  9. AUTHORS:    Yoshimasa Tsuji;
  10. */
  11. The following are the table of contents of "clib" as supplied by DRI.
  12. It is created by UNIX nm with my comments appended.
  13.  
  14. Note: the subroutines are also found in s.o, lib[e|f].a and
  15.     pseudo-subroutines of one type is found as macros in *.h files,
  16.         (assert() has bugs)
  17.     but pseudo-subroutines of another type i.e. asm() etc. are too
  18.     useful to be documented.
  19.        UNIX ld requires space(s) after -u option, but DRI's lo68 does not.
  20.  
  21. channel5.o: \ channels for five file descriptors
  22.     channel initialisation, allocation, initialisation, checking, free
  23.     channels.
  24.     To link:
  25.         -u _maxfile5
  26. 00000090 T ___chini
  27. 00000008 T __allocc
  28. 0000006E T __chinit
  29. 000000FE T __chkc
  30. 00000000 D __chvec
  31. 00000384 C __fds
  32. 00000052 T __freec
  33. 00000000 T _maxfile
  34.  
  35. xmainnw.o:
  36.     \ front end of command line processor. Wild card expansion
  37.     of cpm open file function is not called.
  38.     To link:
  39.         -u _nowildcard
  40. 00000000 T ___main
  41. 00000292 T _nowildc
  42.  
  43. mallocdb.o:
  44.     / gives detailed diagnostics of malloc() error
  45.     To link:
  46.         -u _malloc_
  47. 00000000 T __errmal
  48. 00000056 T _malloc_
  49.  
  50. noascii.o:
  51.     / read() and write() is not going to call ascii mode files
  52.     tell the linkage editor _noascii as undefined
  53. 00000000 D ___noasc
  54. 00000008 T __rdasc
  55. 0000001C T __wrtasc
  56. 00000000 T _noascii
  57.  
  58. nobinary.o:
  59.     / read() and write() is not going to use binary files
  60.     tell the linkage editor that _nobinary is undefined
  61. 00000000 D ___nobin
  62. 00000008 T __rdbin
  63. 0000001C T __wrtbin
  64. 00000000 T _nobinar
  65.  
  66. nodisk.o:
  67.     / read() and write() are not going to use disk files.
  68.     linked when _nodisk is specified as undefined
  69. 00000000 D ___nodis
  70. 00000008 T __rdasc
  71. 0000001C T __rdbin
  72. 00000030 T __wrtasc
  73. 00000044 T __wrtbin
  74. 00000000 T _nodisk
  75.  
  76. nofilesz.o:
  77.     / when lseek from end of file is not going to be used or
  78.     _filesz() is not called, lseek() can be smaller if
  79.     _nofilesize is specified as undefined
  80. 00000008 T __filesz
  81. 00000000 T _nofiles
  82.  
  83. nofloat.o:
  84.     \\ printf() and related functions are not going to use
  85.     floating point expression.
  86.     specify _nofloat as undefined
  87. 00000000 D ___noflo
  88. 00000044 T __atof
  89. 00000008 T __petoa
  90. 0000001C T __pftoa
  91. 00000030 T __pgtoa
  92. 00000000 T _nofloat
  93.  
  94. nolong.o:
  95.     \\ printf() and related functions are not going to use
  96.     'long' type expressions.
  97.     specify _nolong as undefined
  98. 00000000 D ___nolon
  99. 00000008 T ___prtld
  100. 00000000 T _nolong
  101.  
  102. nottyin.o:
  103.     // when tty input is not going to be employed, specify
  104.     that _nottyin is undefined
  105. 00000008 T __ttyin
  106. 00000000 T _nottyin
  107.  
  108. access.o:
  109.     \\ just opens and closes. see UNIX manuals for usage.
  110. 00000000 T _access
  111.     \\ does not even change CP/M defines attributes (directory bit and
  112.     write enable bits that are the bit 7 of the file name extension)
  113.     SHOULD be fixed
  114. 00000044 T _chmod
  115. 00000058 T _chown
  116.  
  117. atoi.o:
  118. 00000000 T _atoi
  119.  
  120. atol.o:
  121.     // variant of atoi() : long != int
  122. 00000000 T _atol
  123.  
  124. calloc.o:
  125.     // note that the total storage bytes cannot exceed 0x10000 - $200
  126.     due to a bug, your calloc may not allow the product of element
  127.     and size to exceed 0x7fff bytes
  128. 00000038 T _calloc
  129. 00000000 T _zalloc
  130.     // zalloc is a variant of calloc, but explicitly zeros the
  131.     allocated area.
  132. exec.o:
  133.     / see UNIX manual for usage
  134.     _execl family can be implemented easily excepting those that
  135.     returns to the caller or processes the third argument of main()
  136. 00000000 T _execl
  137.  
  138. fdopen.o:
  139.     // funny bug: fdopen(fd,"foo") is taken for fdopen(fd,"w")
  140. 00000000 T _fdopen
  141.  
  142. fgets.o:
  143. 00000000 T _fgets
  144.  
  145. fopen.o:
  146. 00000000 T __fopen
  147. 0000011C T _fopen
  148. 00000134 T _fopena
  149. 0000014C T _fopenb
  150.  
  151. fputs.o:
  152. 00000000 T _fputs
  153.  
  154. fread.o:
  155.     // enables you to read more than 0x10000 bytes at a time
  156. 00000000 T _fread
  157.  
  158. freopen.o:
  159. 00000000 T __freope
  160. 00000120 T _freopa
  161. 00000140 T _freopb
  162. 00000100 T _freopen
  163.  
  164. fseek.o:
  165. 00000000 T _fseek
  166. 00000054 T _rewind
  167.  
  168. ftell.o:
  169. 00000000 T _ftell
  170.  
  171. fwrite.o:
  172.     // enables you to write more than 0x10000 bytes at a time
  173. 00000000 T _fwrite
  174.  
  175. getl.o:
  176.     // variant of getw()
  177. 00000000 T _getl
  178.  
  179. getpass.o:
  180. 00000000 T _getpass
  181.  
  182. gets.o:
  183. 00000000 T _gets
  184.  
  185. getw.o:
  186.     // EOF can be detected by feof().
  187. //****** EOF pitfall *****
  188. //    while((c = getchar()) != EOF)
  189. //        putchar(c);
  190. //    is nonsense if the stream is binary because 0xff is a valid character
  191. //***** end of a chat ****
  192.     // e.g. 'a',EOF sequence will be 0xff61
  193. 00000000 T _getw
  194.  
  195. main.o:
  196.     // does jobs left undone by s.o
  197. 00000000 T __main
  198.  
  199. mktemp.o:
  200.     // this is buggy. write your own or port from UNIX
  201.     // trick: put six or more trailing 'X's, and if the generated name
  202.     // already exists, generate another.
  203. 00000000 T _mktemp
  204.  
  205. getpid.o:
  206.     // just for compatibility
  207. 00000000 T _getpid
  208.  
  209. optoff.o:
  210.     // used when some functions are trimmed. Means "optionally
  211.     trimmed." -- that is, by specifying them as undefined.
  212. 00000000 T __optoff
  213.  
  214. perror.o:
  215.     // very useful. see UNIX manual for usage. regretted that
  216.     's.o' as supplied does not set the bdos return value
  217.     to ___cpmrv
  218. 00000000 T _perror
  219. 00000012 D _sys_err
  220. 00000010 D _sys_ner
  221.  
  222. printf.o:
  223. 00000022 T _fprintf
  224. 00000000 T _printf
  225.  
  226. putl.o:
  227. 00000000 T _putl
  228.  
  229. puts.o:
  230. 00000000 T _puts
  231.  
  232. putw.o:
  233. 00000000 T _putw
  234.  
  235. qsort.o:
  236.     // as the product of two int's is int, the product of element and
  237.     // size cannot exceed 0x7fff bytes. Just eliminate one
  238.     // statement after the multiplication ( ext.l )
  239. 00000000 T _qsort
  240.  
  241. rand.o:
  242.     // the seed is masked by 0x3f.
  243. 00000000 T _rand
  244. 00000066 T _srand
  245.  
  246. readl.o:
  247.     // read() handles unsigned int numbers of bytes, thus this one
  248. 00000000 T _readl
  249.  
  250. rename.o:
  251.     // rename(from, to)
  252.     // see UNIX manual( BSD 4.2). Note that being different from 'link'
  253.     file name should not be renamed when it is opened but not closed
  254. 00000000 T _rename
  255.  
  256. strrchr.o:
  257. 00000036 T _rindex
  258. 00000000 T _strrchr
  259.  
  260. scanf.o:
  261. 00000022 T _fscanf
  262. 00000000 T _scanf
  263.  
  264. setbuf.o:
  265. 00000000 T _setbuf
  266.  
  267. sgtty.o:
  268.     // gtty() and stty() SHOULD be re-written
  269. 00000048 T _gtty
  270. 00000000 T _stty
  271.  
  272. sscanf.o:
  273. 00000000 T _sscanf
  274.  
  275. doscan.o:
  276. 00000000 T __doscan
  277.  
  278. fgetc.o:
  279.     // is implemented as a subroutine
  280. 00000000 T _fgetc
  281.  
  282. filbuf.o:
  283.     // _fillbuf() in K & R
  284. 00000000 T __filbuf
  285.  
  286. read.o:
  287. 00000000 T _read
  288.  
  289. readasc.o:
  290. 00000000 T __rdasc
  291.  
  292. readbin.o:
  293. 00000000 T __rdbin
  294.  
  295. swab.o:
  296. 00000000 T _swab
  297.  
  298. ttyin.o:
  299.     // contractor to read(). reads tty input.
  300.     // _ttyin(fp,buf,nbytes)
  301.     // if 0x1a is input, 0a will not be appended.
  302. 00000000 T __ttyin
  303.  
  304. ttyinraw.o:
  305.     // called by getpass()
  306.     may be documented in your local manual, but has a BUG.
  307.     BDOS function #6 is NOT compatible with other CP/Ms.
  308. 00000000 T __ttyinr
  309. 00000058 T _ttyinra
  310.  
  311. ungetc.o:
  312. 00000000 T _ungetc
  313.  
  314. unlink.o:
  315.     // erases from directory
  316. 00000000 T _unlink
  317.  
  318. writel.o:
  319.     // write() handles less than 0x10000 bytes, thus this one.
  320. 00000000 T _writel
  321.  
  322. xmain.o:
  323.     // another post processor of 's.o'.
  324.     this module handles wild card expansion using BDOS open function
  325. 00000000 T ___main
  326.  
  327. creat.o:
  328. 00000000 T __creat
  329. 000000B6 T _creat
  330. 000000CE T _creata
  331. 000000E6 T _creatb
  332.  
  333. exit.o:
  334. 00000000 T _exit
  335.  
  336. cleanup.o:
  337.     // companion subroutine for exit()
  338. 00000000 T __cleanu
  339.  
  340. fclose.o:
  341. 00000000 T _fclose
  342.  
  343. close.o:
  344. 00000000 T _close
  345.  
  346. fdecls.o:
  347.     // area for buffered read/write
  348. 00000000 T ___fdecl
  349. 00000000 D __iob
  350.  
  351. fflush.o:
  352. 00000000 T _fflush
  353.  
  354. open.o:
  355. 00000000 T __open
  356. 000000F4 T _open
  357. 0000010C T _opena
  358. 00000124 T _openb
  359.  
  360. lseek.o:
  361.     // there is one byte bug, due to which you cannot write
  362.     some distance past the current end of file.
  363. 00000000 T _lseek
  364. 000000AE T _tell
  365.  
  366. filesz.o:
  367.     // long _filesz(fd)
  368.     // computes the size of an ascii file correctly,
  369.     but does not do properly with regards to binary files
  370.     headed with MAGIC strings.
  371. 00000000 T __filesz
  372.  
  373. sprintf.o:
  374. 00000000 T _sprintf
  375.  
  376. doprt.o:
  377.     // primary module of printf() family
  378. 00000000 T __doprt
  379.  
  380. doprtfp.o:
  381.     // handles F format part of printf() family
  382. 00000038 T _